home *** CD-ROM | disk | FTP | other *** search
/ Disc to the Future 2 / Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin / MAC / THINKC / 3_0 / JOVE_4 / JOVEDOCS / OVMAKEFI.LE < prev    next >
Text File  |  1988-05-07  |  7KB  |  225 lines

  1. ###########################################################################
  2. # This program is Copyright (C) 1986, 1987, 1988 by Jonathan Payne.  JOVE #
  3. # is provided to you without charge, and with no warranty.  You may give  #
  4. # away copies of JOVE, including sources, provided that this notice is    #
  5. # included in all the files.                                              #
  6. ###########################################################################
  7.  
  8. # TMPDIR is where the tmp files get stored, usually /tmp or /tmp/jove.  If
  9. # your system does not remove subdirectories of /tmp on reboot (lots do
  10. # remove them these days) then it makes sense to make TMPDIR be /tmp/jove.
  11. # But if you want to recover buffers on system crashes, you should create a
  12. # directory that doesn't get clearned upon reboot, and use that instead.
  13. # You would probably want to clean out that directory periodically with
  14. # /etc/cron.  LIBDIR is for online documentation, the PORTSRV process,
  15. # RECOVER, and the system-wide .joverc file.  BINDIR is where to put the
  16. # executables JOVE and TEACHJOVE.  MANDIR is where the manual pages go for
  17. # JOVE, RECOVER and TEACHJOVE.  MANEXT is the extension for the man pages,
  18. # e.g., jove.1 or jove.l or jove.m.
  19.  
  20. DESTDIR =
  21. TMPDIR = /tmp
  22. LIBDIR = /usr/lib/jove
  23. BINDIR = /bin
  24. MANDIR = /usr/man/man1
  25. MANEXT = 1
  26. SHELL = /bin/csh
  27.  
  28. # These should all just be right if the above ones are.
  29. JOVE = $(DESTDIR)$(BINDIR)/jove
  30. RECOVER = $(DESTDIR)$(LIBDIR)/recover
  31. TEACHJOVE = $(DESTDIR)$(BINDIR)/teachjove
  32. JOVERC = $(DESTDIR)$(LIBDIR)/.joverc
  33. CMDS.DOC = $(DESTDIR)$(LIBDIR)/cmds.doc
  34. TEACH-JOVE = $(DESTDIR)$(LIBDIR)/teach-jove
  35. PORTSRV = $(DESTDIR)$(LIBDIR)/portsrv
  36. JOVEM = $(DESTDIR)$(MANDIR)/jove.$(MANEXT)
  37. RECOVERM = $(DESTDIR)$(MANDIR)/recover.$(MANEXT)
  38. TEACHJOVEM = $(DESTDIR)$(MANDIR)/teachjove.$(MANEXT)
  39.  
  40. # Select the right libraries for your system.
  41. #    2.9BSD:    LIBS =    -ltermlib -ljobs
  42. #    v7:    LIBS =    -ltermlib
  43. #    4.1BSD:    LIBS =    -ltermlib -ljobs
  44. #    4.2BSD:    LIBS =    -ltermlib
  45. #    4.3BSD:    LIBS =    -ltermlib
  46.  
  47. OVLIBS = -lovtermcap -lovjobs
  48. LIBS = -ltermcap -ljobs
  49.  
  50. # If you are not VMUNIX (vax running Berkeley Version 4), you must specify
  51. # the -i flags (split I/D space) and maybe the -x option (for adb to work).
  52. #    2.9BSD:    LDFLAGS = -x -i
  53. #    v7:    LDFLAGS = -x -i
  54. #    4.1BSD:    LDFLAGS =
  55. #    4.2BSD:    LDFLAGS =
  56. #    4.3BSD:    LDFLAGS =
  57.  
  58. LDFLAGS =  -x -i
  59.  
  60. CFLAGS = -O -V
  61.  
  62. COFLAGS = -rworking -q
  63.  
  64. BASESEG = funcdefs.o keymaps.o argcount.o ask.o buf.o ctype.o delete.o disp.o fmt.o fp.o \
  65.       insert.o io.o jove.o malloc.o marks.o misc.o move.o re.o \
  66.       screen.o table.o tune.o util.o version.o
  67. OVLAY1 = abbrev.o rec.o paragraph.o macros.o
  68. OVLAY2 = c.o wind.o vars.o
  69. OVLAY3 = extend.o
  70. OVLAY4 = iproc.o re1.o
  71. OVLAY5 = proc.o scandir.o term.o case.o
  72.  
  73. OBJECTS = $(BASESEG) $(OVLAY1) $(OVLAY2) $(OVLAY3) $(OVLAY4) $(OVLAY5)
  74.  
  75. C-FILES = funcdefs.c abbrev.c argcount.c ask.c buf.c c.c case.c ctype.c delete.c disp.c \
  76.     extend.c fmt.c fp.c insert.c io.c iproc.c iproc-pipes.c iproc-ptys.c \
  77.     jove.c macros.c malloc.c marks.c misc.c move.c paragraph.c proc.c \
  78.     re.c re1.c rec.c scandir.c screen.c table.c term.c util.c vars.c version.c \
  79.     wind.c
  80.  
  81. H-FILES = ctype.h io.h jove.h re.h rec.h table.h temp.h termcap.h tune.h
  82.  
  83. BACKUPS = $(C-FILES) $(H-FILES) $(DOCS) teachjove.c recover.c setmaps.c portsrv.c \
  84.     tune.template Makefile Ovmakefile keymaps.txt README tags
  85.  
  86. DOCS =    doc/cmds.doc.nr doc/example.rc doc/jove.1 doc/jove.2 doc/jove.3 \
  87.     doc/jove.4 doc/jove.nr doc/recover.nr doc/system.rc doc/teach-jove \
  88.     doc/teachjove.nr doc/README
  89.  
  90. all:    xjove recover teachjove portsrv
  91.  
  92. xjove:    $(OBJECTS)
  93.     ld $(LDFLAGS) /lib/crt0.o \
  94.         -Z $(OVLAY1) \
  95.         -Z $(OVLAY2) \
  96.         -Z $(OVLAY3) \
  97.         -Z $(OVLAY4) \
  98.         -Z $(OVLAY5) \
  99.         -L $(BASESEG) \
  100.         -o xjove $(OVLIBS) -lovc
  101.     checkobj xjove
  102.     @-size xjove
  103.     @-date
  104.  
  105. portsrv:    portsrv.c
  106.     cc -o portsrv -n -O portsrv.c $(LIBS)
  107.  
  108. recover:    recover.c tune.o rec.h temp.h
  109.     cc -o recover -n -O recover.c tune.o -ljobs
  110.  
  111. teachjove:    teachjove.c
  112.     cc -o teachjove -n -O -DTEACHJOVE=\"$(TEACH-JOVE)\" teachjove.c
  113.  
  114. setmaps:    setmaps.c funcdefs.c
  115.     cc -o setmaps setmaps.c
  116.  
  117. keymaps.c:    setmaps keymaps.txt
  118.     setmaps < keymaps.txt > keymaps.c
  119.  
  120. tune.c: Makefile tune.template
  121.     @echo "/* Changes should be made in Makefile, not to this file! */" > tune.c
  122.     @echo "" >> tune.c
  123.     @sed -e 's;TMPDIR;$(TMPDIR);' \
  124.          -e 's;LIBDIR;$(LIBDIR);' \
  125.          -e 's;BINDIR;$(BINDIR);' \
  126.          -e 's;SHELL;$(SHELL);' tune.template >> tune.c
  127.  
  128. install: $(LIBDIR) $(TEACH-JOVE) $(CMDS.DOC) $(JOVERC) $(PORTSRV) $(RECOVER) \
  129.      $(JOVE) $(TEACHJOVE) $(JOVEM) $(RECOVERM) $(TEACHJOVEM)
  130.  
  131. $(DESTDIR)$(LIBDIR):
  132.     -mkdir (DESTDIR)$(LIBDIR)
  133.  
  134. $(TEACH-JOVE): doc/teach-jove
  135.     install -c -m 644 doc/teach-jove $(TEACH-JOVE)
  136.  
  137. $(CMDS.DOC): doc/cmds.doc
  138.     install -c -m 644 doc/cmds.doc $(CMDS.DOC)
  139.  
  140. $(JOVERC): doc/system.rc
  141.     install -c -m 644 doc/system.rc $(JOVERC)
  142.  
  143. $(PORTSRV): portsrv
  144.     install -c -m 755 portsrv $(PORTSRV)
  145.  
  146. $(RECOVER): recover
  147.     install -c -m 755 recover $(RECOVER)
  148.  
  149. $(JOVE): xjove
  150.     install -c -m 755 xjove $(JOVE)
  151.  
  152. $(TEACHJOVE): teachjove
  153.     install -c -m 755 teachjove $(TEACHJOVE)
  154.  
  155. $(JOVEM): doc/jove.nr
  156.     @sed -e 's;TMPDIR;$(TMPDIR);' \
  157.          -e 's;LIBDIR;$(LIBDIR);' \
  158.          -e 's;SHELL;$(SHELL);' doc/jove.nr > /tmp/jove.nr
  159.     install -m 644 /tmp/jove.nr $(JOVEM)
  160.  
  161. $(RECOVERM): doc/recover.nr
  162.     @sed -e 's;TMPDIR;$(TMPDIR);' \
  163.          -e 's;LIBDIR;$(LIBDIR);' \
  164.          -e 's;SHELL;$(SHELL);' doc/recover.nr > /tmp/recover.nr
  165.     install -m 644 /tmp/recover.nr $(RECOVERM)
  166.  
  167. $(TEACHJOVEM): doc/teachjove.nr
  168.     @sed -e 's;TMPDIR;$(TMPDIR);' \
  169.          -e 's;LIBDIR;$(LIBDIR);' \
  170.          -e 's;SHELL;$(SHELL);' doc/teachjove.nr > /tmp/teachjove.nr
  171.     install -m 644 /tmp/teachjove.nr $(TEACHJOVEM)
  172.  
  173. echo:
  174.     @echo $(C-FILES) $(H-FILES)
  175.  
  176. lint:
  177.     lint -x $(C-FILES)
  178.     echo Done
  179.  
  180. tags:
  181.     ctags -w $(C-FILES) $(H-FILES)
  182.  
  183.  
  184. jove.shar:
  185.     shar $(BACKUPS) doc/* > jove.shar
  186.  
  187. backup:
  188.     tar cf backup $(BACKUPS)
  189.  
  190. tape-backup:
  191.     tar cbf 20 /dev/rmt0 $(BACKUPS)
  192.  
  193. clean:
  194.     rm -f a.out core $(OBJECTS) keymaps.c xjove \
  195.         portsrv recover setmaps teachjove
  196.  
  197. # abbrev.o: jove.h tune.h
  198. # ask.o: jove.h tune.h
  199. # buf.o: jove.h tune.h
  200. # c.o: jove.h tune.h
  201. # delete.o: jove.h tune.h
  202. # disp.o: jove.h tune.h termcap.h
  203. # extend.o: jove.h tune.h
  204. # fmt.o: jove.h tune.h termcap.h
  205. # funcdefs.o: jove.h tune.h
  206. # insert.o: jove.h tune.h
  207. # io.o: jove.h tune.h termcap.h temp.h
  208. # iproc.o: jove.h tune.h
  209. # jove.o: jove.h tune.h termcap.h
  210. # macros.o: jove.h tune.h
  211. # marks.o: jove.h tune.h
  212. # misc.o: jove.h tune.h
  213. # move.o: jove.h tune.h
  214. # portsrv.o: jove.h tune.h
  215. # proc.o: jove.h tune.h
  216. # re.o: jove.h tune.h
  217. # rec.o: jove.h tune.h temp.h rec.h
  218. # recover.o: jove.h tune.h temp.h rec.h
  219. # screen.o: jove.h tune.h temp.h termcap.h
  220. # setmaps.o: jove.h tune.h
  221. # term.o: jove.h tune.h
  222. # tune.o: tune.h
  223. # util.o: jove.h tune.h
  224. # wind.o: jove.h tune.h termcap.h
  225.